Computer systems typically execute an operating system. An operating system (“OS”) is a set of computer instructions that allows application programs to be invoked and run, provides services to these programs, and manages computer hardware resources and access to them by the programs.
Some of the hardware resources may be built into the computer itself (for example, in the chipset or on the motherboard of the computer). Some of these resources are controlled by device drivers that are (or become) installed in the operating system. These drivers allow the operating system and application programs to access the hardware resources without having detailed knowledge of how the hardware resources are implemented in the computer's hardware architecture, something which can vary from model to model of computer, even from the same computer vendor.
Operating systems are used in laptop, desktop, and workstation computers, and also in supercomputers, web servers, and in most electronic devices that include an embedded processor, including cell phones and video game consoles among others. There are a variety of operating systems in use today, including several versions of Windows from Microsoft, and one or more versions of Linux from each of many different Linux providers, as well as other operating systems.
Each computer also includes firmware that initializes (or “boots”) the computer by loading the operating system into memory when the computer is powered on. This firmware, commonly referred to as the BIOS (Basic Input/Output System), also presents the hardware resources and certain input/output (“I/O”) functions of the computer to the operating system. The firmware is usually tailored to the hardware architecture of the computer such that it presents its resources and functions to the operating system in an industry-standard manner. Such industry standards include the older de facto BIOS standard, a newer standard such as the Extensible Firmware Interface (EFI), or other standards. Thus the firmware allows a particular code distribution of a particular version of an operating system to run on a variety of different models of computer despite the differences in hardware architectures among the various computer models.